﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BorisTheBlade
{
	/// <summary>
	/// Содержит информацию о совокупных позициях по ценным бумагам на всех торговых счетах клиента. 
	/// Каждая строка таблицы соответствует уникальной ценной бумаге. 
	/// Доступность полей отмечена в колонке Сервер: 
	/// m – MICEX; f – MICEX_FUT; r – RTS; s – SPBEX_FUT, SPBEX_OPT; пустое поле – все типы серверов 
	/// </summary>
	class WrapperFirm_Holding_Total
	{
		private int m_ClientID;
		///<summary>
		/// Идентификатор клиента
		/// </summary>
		public int ClientID { get { return m_ClientID; } set { m_ClientID = value; } }

		private string m_TrdAccID;
		///<summary>
		///Код торгового счета
		/// </summary>
		public string TrdAccID { get { return m_TrdAccID; } set { m_TrdAccID = value; } }

		private string m_AccType;
		/// <summary>
		/// Тип торгового счета
		/// </summary>
		public string AccType {get {return m_AccType;} set {m_AccType = value;}}

		private string m_SecCode;
		/// <summary>
		/// Код финансового инструмента
		/// </summary>
		public string SecCode { get { return m_SecCode; } set { m_SecCode = value; } }

		private string m_IssueCode;
		/// <summary>
		/// Код выпуска ценной бумаги
		/// </summary>
		public string IssueCode { get { return m_IssueCode; } set { m_IssueCode = value; } }

		private long m_OpenBal;
		///<summary>
		///m, r	Входящий остаток – остаток денежных средств на счете клиента
		/// </summary>
		public long OpenBal { get { return m_OpenBal; } set { m_OpenBal = value; } }

		private long m_CurrentPos;
		///<summary>
		///m, r	Текущий остаток – входящий остаток плюс суммарный объем заключенных клиентом сделок на продажу минус суммарный объем сделок на покупку 
		/// </summary>
		public long CurrentPos { get { return m_CurrentPos; } set { m_CurrentPos = value; } }

		private long m_Min;
		/// <summary>
		/// Минимальное значение остатка
		/// </summary>
		public long Min { get { return m_Min; } set { m_Min = value; } }

		private long m_PlannedPosBuy;
		/// <summary>
		/// m	Объём активных заявок на покупку – суммарный неудовлетворенный объём всех активных заявок по данной ценной бумаге на покупку, в ценных бумагах
		/// </summary>
		public long PlannedPosBuy { get { return m_PlannedPosBuy; } set { m_PlannedPosBuy = value; } }

		private long m_PlannedPosSell;
		/// <summary>
		/// m	Объём активных заявок на продажу – суммарный неудовлетворенный объём всех активных заявок по данной ценной бумаге на продажу, в ценных бумагах
		/// </summary>
		public long PlannedPosSell { get { return m_PlannedPosSell; } set { m_PlannedPosSell = value; } }

		private long m_TodayBuy;
		/// <summary>
		/// f, s	Количество купленных контрактов в ходе сессии
		/// </summary>
		public long TodayBuy { get { return m_TodayBuy; } set { m_TodayBuy = value; } }

		private long m_TodaySell;
		/// <summary>
		/// f, s	Количество проданных контрактов в ходе сессии
		/// </summary>
		public long TodaySell { get { return m_TodaySell; } set { m_TodaySell = value; } }

		private double m_VarMargin;
		/// <summary>
		/// f, s	Накопленная по сделкам вариационная маржа по фьючерсам, рассчитанная по текущей котировке, в рублях
		/// </summary>
		public double VarMargin { get { return m_VarMargin; } set { m_VarMargin = value; } }

		private double m_VarMarginReal;
		/// <summary>
		/// f, s	Накопленная по сделкам вариационная маржа по фьючерсам, рассчитанная по текущей рыночной котировке, в рублях
		/// </summary>
		public double VarMarginReal { get { return m_VarMarginReal; } set { m_VarMarginReal = value; } }

		private double m_VarMarginOpt;
		/// <summary>
		/// f, s	Накопленная по сделкам вариационная маржа по маржируемым опционам, рассчитанная по текущей опционной котировке, в рублях
		/// </summary>
		public double VarMarginOpt { get { return m_VarMarginOpt; } set { m_VarMarginOpt = value; } }

		private string m_FirmID;
		/// <summary>
		/// Идентификатор фирмы
		/// </summary>
		public string FirmID { get { return m_FirmID; } set { m_FirmID = value; } }

		private string m_Ticker;
		/// <summary>
		/// Наименование для главного инструмента
		/// </summary>
		public string Ticker { get { return m_Ticker; } set { m_Ticker = value; } }

}
}
